package com.base.mapper;

import java.util.HashMap;
import java.util.List;

import com.base.entity.Page;
import com.base.entity.system.User;
import com.base.util.PageData;

public interface UserMapper {
	
	Integer validateUser(PageData pageData); 
	
	Integer isUserExists(PageData pageData);
	
	Integer isEmailExists(PageData pageData);
	
	Integer isPhoneExists(PageData pageData);
	
	Boolean isUserStatusActive(PageData pageData);
	
	HashMap selectUserByUserName(PageData pageData);
	
	HashMap selectUserByEmail(PageData pageData);
	
	HashMap selectRoleNameByRoleID(PageData pageData);
	
	Boolean updateManByerID(PageData pageData);
	
	HashMap selectNameByManBuyerID(PageData pageData);
	
	Integer updateLastLoginInfo(PageData pageData);
	
	Boolean updateUserName(PageData pageData);
	
	Boolean updateUserSkin(PageData pageData);
	
	Boolean updateUserEmail(PageData pageData);
	
	Boolean updateUserNumber(PageData pageData);
	
	Boolean updateUserPhone(PageData pageData);
	
	Boolean updateUserInfo(PageData pageData);
	
	Boolean updateUserPassword(PageData pageData);
	
	Integer insertNewUser(PageData pd);
	
	Boolean insertNewLoginRecord(PageData pageData);
	
	PageData selectUserAndRole(String userID);
	
	
	//####################UserMapper#######################
	
	User getUserAndRoleById(String userId);
	
	
	//#####################UserXMapper#########################
	PageData findByUiId(PageData pd);

	PageData findByUId(PageData pd);

	PageData findByUE(PageData pd);

	PageData findByUN(PageData pd);

	void saveU(PageData pd);

	void editU(PageData pd);

	void setSKIN(PageData pd);

	void deleteU(PageData pd);

	void deleteAllU(String[] userIds);

	List<PageData> userlistPage(Page page);

	List<PageData> listAllUser(PageData pd);

	List<PageData> userGlistPage(Page page);

	void saveIP(PageData pd);

	PageData getUserInfo(PageData pd);

	void updateLastLogin(PageData pd);
	
}
